Adaptive mapping of search results

ABSTRACT

Systems and method are provided for updating the presentation of a map based on search request information. The method may display, at a computing device, an interface that includes a search mode view of a map and a search box. Additionally, the method may receive input into the search box. The input may cause a display of a menu that includes a list of geographic locations according to the received input. Furthermore, the method may display visual indicators on the search mode view of the map according to the list of geographic locations. Moreover, the method may receive selection input corresponding to a selected geographic location from the list of geographic locations. Subsequently, the method may update the interface by replacing the search mode view with a confirmed mode view. The confirmed mode view may include a selection highlight indicator that corresponds to the selected geographic location.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation application of, and claims priorityto, U.S. patent application Ser. No. 12/549,276, filed Aug. 27, 2009,the contents of which are hereby incorporated by reference in itsentirety.

FIELD OF THE INVENTION

This can relate to systems and methods for processing user searchrequest information and, more particularly, to systems and methods forupdating the presentation of a map based on the processed search requestinformation.

BACKGROUND OF THE INVENTION

Using an electronic device (e.g., a laptop computer or portable mediadevice), a user can search for and select a specific location, such as alocation on a map. For example, an electronic device may generallyattempt to match user input search information (e.g., the name of aspecific location) with information in a database accessible by thedevice that may include a list of various locations. When multiplematches are detected between user search information and databaselocations, the user is often prompted to select from a list of thedetected matches, and usually shown in a linear table. This approach ofshowing search results in a list, however, may not be very visuallyappealing to a user and may not easily convey the dimension of theresult set, or the geographic distribution of the result set.

BRIEF SUMMARY OF THE INVENTION

Systems, methods, and computer-readable media for updating thepresentation of a map based on processed search request information areprovided.

For example, in some embodiments, there is provided a method for mappingsearch results. The method may include displaying a first version of amap having a many positions. Responsive to a new user search input, themethod may automatically highlight at least one of the many positions onthe map. Each highlighted position may be associated with a locationentity that at least partially matches the new user search input. Themap may be representative of the world globe, and each position of themap may be associated with a city of the world globe. In order tohighlight at least one of the positions on the map, the method mayinclude accessing a table that defines a first metadata portion and asecond metadata portion for many location entities. The method may thencompare the new user search input to the first metadata portion of eachlocation entity in at least a subset of the many location entities,detect at least one matching location entity based on the comparing, andprovide a visual indicator on the map at each one of the positions thatis associated with the second metadata portion from one of the at leastone matching location entity.

In some other embodiments, there is provided a system for mapping searchresults. The system may include an input component for receiving usersearch information, a display, and a processor coupled to the displayand the user input component. The processor may be operative to providea map on the display, match the user search information with at leastone location entity, and dynamically update the map with at least onevisual indicator in at least one position on the map associated with theat least one location entity. In some embodiments, the processor may befurther operative to present a list of at least one listed itemconcurrently with the dynamic update, and each listed item may beassociated with a respective one of the at least one location entity.Each listed item may be textual information associated with the locationname of its respective one location entity.

Moreover, in some other embodiments, there is provided computer readablemedia for controlling an electronic device that includes computerreadable code recorded thereon for displaying on a display of theelectronic device a map showing many locations, receiving updated usersearch information indicative of at least one location of the manylocations, and automatically presenting at least one visual indicator onthe map at each one of the at least one location in response to thereceiving.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects of the invention, its nature, and variousfeatures will become more apparent upon consideration of the followingdetailed description, taken in conjunction with the accompanyingdrawings, in which like reference characters refer to like partsthroughout, and in which:

FIG. 1 is a schematic view of an illustrative electronic device inaccordance with some embodiments of the invention;

FIGS. 2 and 3 are schematic views of an application run by theelectronic device of FIG. 1 in accordance with some embodiments of theinvention; and

FIGS. 4A-4F show various representations of a user interface of theapplication of FIGS. 2 and 3 in accordance with some embodiments of theinvention.

DETAILED DESCRIPTION OF THE INVENTION

Systems, methods, and computer-readable media for updating thepresentation of a map based on processed search request information areprovided and described with reference to FIGS. 1-4F.

An electronic device may be operative to display an image and to receiveuser input representing at least a portion of a user search term relatedto at least one element of the image. For example, the image may be amap, and the user search term may be related to a specific location onthe map. The device may also be operative to display a list of searchresults related to the user search terms. Each search result may bedisplayed at a specific position on the image related to the searchresult. The search results may also be displayed as a linear list. Thismay provide a way to show both the distribution (e.g., the location) aswell as the dimension (e.g., the number) of the search results.

FIG. 1 is a schematic view of an illustrative electronic device 100 forproviding adaptive mapping of search results in accordance with someembodiments of the invention. Electronic device 100 may perform a singlefunction (e.g., search result mapping) and, in other embodiments,electronic device 100 may perform multiple functions (e.g., a devicethat maps search results, plays music, and receives and transmitstelephone calls). Moreover, in some embodiments, electronic device 100may be any portable, mobile, or hand-held electronic device configuredto map search results wherever the user travels. Electronic device 100may include any suitable type of electronic device operative to mapsearch results. For example, electronic device 100 may include a mediaplayer (e.g., an iPod™ available by Apple Inc. of Cupertino, Calif.), acellular telephone (e.g., an iPhone™ available by Apple Inc.), apersonal e-mail or messaging device (e.g., a Blackberry™ available byResearch In Motion Limited of Waterloo, Ontario), any other wirelesscommunication device, a pocket-sized personal computer, a personaldigital assistant (“PDA”), a laptop computer (e.g., an MacBook™available by Apple Inc.), a music recorder, a still camera, a movie orvideo camera or recorder, a radio, medical equipment, any other suitabletype of electronic device, and any combinations thereof. Alternatively,electronic device 100 may not be portable at all, but may instead begenerally stationary, such as a desktop computer (e.g., an iMac™available by Apple Inc.).

Electronic device 100 may include a processor or control circuitry 102,memory 104, communications circuitry 106, power supply 108, an inputcomponent 110, and an output component 112. Electronic device 100 mayalso include a bus 103 that may provide a transfer path for transferringdata and/or power, to, from, or between various other components ofdevice 100. In some embodiments, one or more components of electronicdevice 100 may be combined or omitted. Moreover, electronic device 100may include other components not combined or included in FIG. 1. Forexample, electronic device 100 may also include various other types ofcomponents, including, but not limited to, light sensing circuitry,camera lens components, or global positioning circuitry, as well asseveral instances of one or more of the components shown in FIG. 1. Forthe sake of simplicity, only one of each of the components is shown inFIG. 1.

Electronic device 100 may also be provided with a housing 101 that mayat least partially enclose one or more of the components of device 100for protecting them from debris and other degrading forces external todevice 100. In some embodiments, all of the components of electronicdevice 100 may be provided within the same housing 101. In otherembodiments, one or more of the components may be provided within itsown housing (e.g., an input component 110 may be provided within its ownhousing and may communicate wirelessly or through a wire with aprocessor 102, which may be provided within its own housing).

Memory 104 may include one or more storage mediums, including, forexample, a hard-drive, solid-state drive, flash memory, permanent memorysuch as read-only memory (“ROM”), semi-permanent memory such as randomaccess memory (“RAM”), any other suitable type of storage component, orany combination thereof. Memory 104 may include cache memory, which maybe one or more different types of memory used for temporarily storingdata for electronic device applications. Memory 104 may store media data(e.g., music, image, and video files), software (e.g., for implementingfunctions on device 100), firmware, preference information (e.g., mediaplayback preferences), lifestyle information (e.g., food preferences),exercise information (e.g., information obtained by exercise monitoringequipment), transaction information (e.g., information such as creditcard information), wireless connection information (e.g., informationthat may enable device 100 to establish a wireless connection),subscription information (e.g., information that keeps track of podcastsor television shows or other media a user subscribes to), contactinformation (e.g., telephone numbers and e-mail addresses), calendarinformation, any other suitable data, or any combination thereof.

Communications circuitry 106 may be provided to allow device 100 tocommunicate with one or more other electronic devices or servers (notshown) using any suitable communications protocol. For example,communications circuitry 106 may support Wi-Fi (e.g., an 802.11protocol), Ethernet, Bluetooth™, high frequency systems (e.g., 900 MHz,2.4 GHz, and 5.6 GHz communication systems), cellular networks (e.g.,GSM, AMPS, GPRS, CDMA, EV-DO, EDGE, 3GSM, DECT, IS-136/TDMA, iDen, LTE,or any other suitable cellular network or protocol), infrared,transmission control protocol/internet protocol (“TCP/IP”) (e.g., any ofthe protocols used in each of the TCP/IP layers), hypertext transferprotocol (“HTTP”), BitTorrent™, file transfer protocol (“FTP”),real-time transport protocol (“RTP”), real-time streaming protocol(“RTSP”), secure shell protocol (“SSH”), voice over internet protocol(“VoIP”), any other communications protocol, or any combination thereof.Communications circuitry 106 may also include circuitry that can enabledevice 100 to be electrically coupled to another device (e.g., acomputer or an accessory device) and communicate with that other device,either wirelessly or via a wired connection.

Power supply 108 can include any suitable circuitry for receiving and/orgenerating power, and for providing such power to one or more componentsof electronic device 100. In some embodiments, power supply 108 can becoupled to a power grid (e.g., when device 100 is not acting as aportable device or when a battery of the device is being charged at anelectrical outlet with power generated by an electrical power plant). Asanother example, power supply 108 can be configured to generate powerfrom a natural source (e.g., solar power using solar cells). In someembodiments, power supply 108 can include one or more batteries forproviding power (e.g., when device 100 is acting as a portable device).For example, power supply 108 can include one or more of a battery(e.g., a gel, nickel metal hydride, nickel cadmium, nickel hydrogen,lead acid, or lithium-ion battery), an uninterruptible or continuouspower supply (“UPS” or “CPS”), and circuitry for processing powerreceived from a power generation source (e.g., power generated by anelectrical power plant and delivered to the user via an electricalsocket or otherwise).

Input component 110 may be any component suitable to permit a user tointeract or interface with device 100. For example, input component 110can take a variety of forms, including, but not limited to, anelectronic device pad, dial, click wheel, scroll wheel, touch screen,one or more buttons (e.g., a keyboard), mouse, joy stick, microphone,track ball, and combinations thereof. Input component 110 may beoperative to convert, and encode/decode, if necessary, analog signalsand other signals into digital data. In some embodiments, inputcomponent 110 may convert digital data into any other type of signal,and vice-versa. For example, input component 110 may receive and convertphysical contact inputs (e.g., using a multi-touch screen), physicalmovements (e.g., using a mouse or sensor), analog audio signals (e.g.,using a microphone), or any other input. The digital data can beprovided to and received from processor 102, memory 104, or any othercomponent of electronic device 100. Although input component 110 isillustrated in FIG. 1 as a single component of electronic device 100,several instances of input component 110 can be included in electronicdevice 100. Each input component 110 can be configured to provide one ormore dedicated control functions for making selections or issuingcommands associated with operating electronic device 100.

Output component 112 may also include any suitable output mechanism orcomponent for presenting information (e.g., textual, graphical, audible,and/or tactile information) to a user of electronic device 100. Forexample, output component 112 may include any suitable output componentor mechanism and can take a variety of forms, including, but not limitedto, audio speakers, headphones, audio line-outs, visual displays,antennas, infrared ports, rumblers, vibrators, or combinations thereof.

In some embodiments, output component 112 may include image displaycircuitry (e.g., a screen or projection system) as an output componentfor providing a display visible to the user. For example, the displaycircuitry may include a screen (e.g., a liquid crystal display (“LCD”),a light emitting diode (“LED”) display, an organic light-emitting diode(“OLED”) display, a surface-conduction electron-emitter display (“SED”),a carbon nanotube display, a nanocrystal display, any other suitabletype of display, or combination thereof) that is incorporated inelectronic device 100. As another example, the display circuitry mayinclude a movable display or a projecting system for providing a displayof content on a surface remote from electronic device 100 (e.g., a videoprojector, a head-up display, or a three-dimensional (e.g., holographic)display).

In some embodiments, display circuitry of output component 112 caninclude a coder/decoder (“CODEC”) to convert digital media data intoanalog signals. For example, the display circuitry, or other appropriatecircuitry within electronic device 100, may include video CODECS, audioCODECS, or any other suitable type of CODEC. Display circuitry also caninclude display driver circuitry, circuitry for driving display drivers,or both. The display circuitry may be operative to display content(e.g., media playback information, application screens for applicationsimplemented on the electronic device, information regarding ongoingcommunications operations, information regarding incoming communicationsrequests, or device operation screens) under the direction of processor102.

It should be noted that one or more input components 110 and one or moreoutput components 112 may sometimes be referred to collectively hereinas an I/O interface 114. It should also be noted that an input component110 and an output component 112 of I/O interface 114 may sometimes be asingle I/O component, such as a touch screen that may receive inputinformation through a user's touch of a display screen and that may alsoprovide visual information to a user via that same display screen.

Processor 102 may include any processing circuitry operative to controlthe operations and performance of electronic device 100. For example,processor 102 may be used to run operating system applications, firmwareapplications, media playback applications, media editing applications,or any other application. In some embodiments, processor 102 may receiveinput signals from input component 110 (e.g., a keyboard) and/or driveoutput signals through an output component 112 (e.g., a display).Processor 102 may load a user interface program (e.g., a program storedin memory 104 or a program provided by another remote device or servervia communications circuitry 106) to determine how instructions or datareceived via input component 110 may manipulate the way in whichinformation is provided to the user via output component 112.

To enhance a user's experience interacting with electronic device 100,the electronic device can provide a user interface application that maycontinuously update the presentation of a map or any other suitable typeof image with one or more visual indicators as a user updates searchinformation related to the map. For example, as shown in FIG. 2, asearch application 200 may be loaded by processor 102 (e.g., from memory104 or from a remote entity via communications circuitry 106).Application 200 may include a user interface (“UI”) 210 having a userinterface input portion 220 for receiving user search information 221from a user and a user interface output portion 230 for providingapplication presentation information 231 to the user. Application 200may also include a controller 240 for processing user search information221 and for generating application presentation information 231 based onthe processed user search information. Controller 240 may include asearch engine 250 and a database 260, an illustrative embodiment ofwhich is shown in FIG. 3.

UI output portion 230 may generate a map 202 as a portion ofpresentation information 231 provided to a user on output component 112(e.g., a video display). The user may provide a search field 228 of UIinput portion 220 with at least a portion of a user search term relatedto map 202 using user search information 221 via input component 110(e.g., a keyboard). Controller 240 may process this user search terminformation and may update the presentation of map 202 on display 112with one or more visual indicators based on the processed user searchterm information.

In some embodiments, UI output portion 230 may also generate a menu list208 as a portion of presentation information 231. Menu list 208 mayinclude one or more menu items associated with at least some of thevisual indicators provided by map 202. Furthermore, in some embodiments,the user may also use a portion of user search information 221 to choosea selection 222 of UI input portion 220. Selection 222 may be associatedwith at least one of the one or more menu items provided by menu list208. In response to selection 222, UI output portion 230 may update thepresentation of map 202 and/or menu list 208 based on selection 222.

Controller 240 of search application 200 may include search engine 250and database 260. Engine 250 may receive user search term informationfrom search field 228 of UI input portion 220. This user search terminformation may include at least a portion of a user search term relatedto a specific location. depicted by map 202. Engine 250 may compare thisuser search term information to information of one or more locationentities defined by database 260. As shown in FIG. 3, for example,database 260 may include a search table 300. Search table 300 mayinclude one or more location entities 302 related to one or morespecific locations 220 depicted by map 202.

As shown in FIG. 3, for example, database 260 may include search table300. Search table 300 may include one or more location entities 302(e.g., entities 302 a-302 z). Each location entity 302 may include aspecific location 320 (e.g., a location that may be depicted by map 202)as well as various types of metadata 340 associated with each location320 (e.g., textual information and/or graphical information related tothat specific location). As shown, each location entity 302 of table 300may include the name of a specific location 320. For example, locationdata 320 may be textual information, such as a string of one or morealphanumeric characters. Location 320 for each location entity 302 maybe the formal name of a specific location depicted by map 202. Althoughtable 300 may be visually ordered in any suitable way, in someembodiment, table 300 may be visually ordered alphabetically withrespect to location data 320 of each entity 302. For example, as shownin FIG. 3, location entity 302 a may include an associated piece oflocation data 320 a that is the location name “Aachen, Germany”,location entity 302 w may include an associated piece of location data320 w that is the location name “San Diego, Calif., U.S.A.”, andlocation entity 302 z may include an associated piece of location data320 z that is the location name “Zywiec, Poland”.

All metadata 340 for each location entity 302 may be informationassociated with the specific location described by location data 320 ofthat entity 302. For example, a particular piece of metadata 340 thatmay be associated with a particular location 320 of a particularlocation entity 302 is textual information metadata. Such textualinformation may also be a string of one or more alphanumeric charactersrepresentative or descriptive of the location 320. For example, validterm metadata 342 of an entity 302 may include one or more strings ofone or more alphanumeric characters representing various descriptiveterms that may be associated with the location 320 of that entity.

In some embodiments, valid term metadata 342 may include one or moredescriptive terms that should be associated with the respective location320, including not only each of the specific terms of location 320, butalso any variations on the spelling of that location and/or anynicknames or other terms commonly attributed to that location. Forexample, as shown in FIG. 3, location entity 302 d may include anassociated piece of location data 320 d that is the location name “LosAngeles, Calif., U.S.A.”, and associated valid term metadata 342 d thatmay include one or more terms to be considered a valid match for thespecific location of location data 320 d. For example, not only mayvalid term metadata 342 d include one or more of the alphanumeric stringterms included in location data 320 d (e.g., “Los” and “Angeles” and“California” and “U.S.A.”), but valid term metadata 342 d may alsoinclude one or more additional alphanumeric string terms that may alsobe associated with the specific location data 320 d (e.g., commonmisspellings such as “Las”, common abbreviations such as “L.A.”, andcommon nicknames such as “LAX”).

As an example, search engine 250 may receive user search terminformation from search field 228 of UI input portion 220. This usersearch term information may include at least a portion of a user searchterm related to a specific location depicted by map 202. Engine 250 maycompare this user search term information to data provided by table 300of database 260 to determine whether or not any of the location entities302 are related to the user search. Therefore, if a user provides “L.A.”as at least a portion of user search term information, query engine 250may identify at least one match based on valid term metadata 342 dassociated with location 320 d of location entity 302 d. In otherembodiments, table 300 may not include valid term metadata 342, and if auser provides “L.A.” as at least a portion of user search terminformation, query engine 250 may be unable to identify at least onematch, for example, because location data 320 d does not include “L.A.”.

Another particular type of metadata 340 that may be associated withparticular location data 320 of a particular location entity 302 intable 300 of database 260 is graphical information. Such graphicalinformation may be an image or other data indicative of how the locationentity 302 may be depicted, highlighted, distinguished, or otherwiseidentified. by user interface 210 on map 202 (e.g., using one or morevisual indicators).

For example, indicator value metadata 344 may include a numeric valueassociated with the total human population of the respective location320 of its respective location entity 302. As shown in FIG. 3, locationentity 302 g may include an associated piece of location data 320 g thatis the location name “Philadelphia, Pa., U.S.A.”, and associatedindicator value metadata 344 g that may include one or more values to beconsidered when highlighting or otherwise representing location 320 g onmap 202 using one or more visual indicators (e.g., numeric value“1,447,395” indicative of the human population of Philadelphia).Similarly, location entity 302 k may include an associated piece oflocation data 320 k that is the location name “Rio de Janeiro, Brazil”,and associated indicator value metadata 344 k that may include one ormore similar values to be considered when highlighting or otherwiserepresenting location 320 k on map 202 using one or more visualindicators (e.g., numeric value “7,787,098” indicative of the humanpopulation of Rio de Janeiro).

“Highlighting,” “distinguishing,” “indicating,” and/or “identifying”, asmay be used herein, is not limited to the specific effects described andillustrated. Rather, these terms may refer to any form of effect bywhich some locations may be distinguished from others on map 202 orelsewhere on UI 210. Examples of such effects may include, but are notlimited to, changing the size, shape, color, contrast, and/or any othervisual feature of an associated name, icon, or other item or identifierrepresentative of the location on map 202. In other embodiments,highlighting, distinguishing, and/or identifying may refer to displayingone or more identifiers or indicators representative of one or morelocations on map 202 in a specific area of display 112, such as byzooming in on or out from a portion of map 202 that may include one ormore of the identifiers. In yet other embodiments, highlighting,distinguishing, and/or identifying may be accomplished using non-visualmeans, for example, such that highlighted items or identifiers canproduce a distinctive sound when pointed at by a cursor or other type ofinput component 110, or they can have a distinctive tactilecharacteristic.

Another particular type of metadata 340 that may be associated withparticular location data 320 of a particular location entity 302 intable 300 of database 260 is grouping information. Such groupinginformation may be any data indicative of how two or more locationentities may be defined as a single group. For example, time zonemetadata 346 of an entity 302 may include an alphanumeric string or anyother type of data representing a characteristic that may be associatedwith multiple locations 320 (e.g., the time zone region in whichmultiple locations 320 may reside). In some embodiments, time zonemetadata 346 may include an alphanumeric value associated with aspecific time zone of one or more location entities 302. For example, asshown in FIG. 3, location entity 302 m may include an associated pieceof location data 320 m that is the location name “Riyadh, Saudi Arabia”,and associated time zone metadata 346 m that may include a time zonedescriptor to be considered when adjusting the time zone associated withdevice 100 (e.g., descriptor “BST” that may be representative of the“British Summer Time Zone” associated with Riyadh). This value “BST” ofmetadata 346 may be unique to only location entity 302 m of table 300.However, as another example, as shown in FIG. 3, location entities 302 oand 302 q may include a respective piece of time zone metadata 346having the same value (e.g., time zone metadata 346 o associated with“Rome, Georgia, U.S.A.” location data 320 o and time zone metadata 346 qassociated with “Rome, New York, U.S.A.” may each have a value “EST”that may be representative of the “Eastern Standard Time Zone”).

Another particular type of metadata 340 that may be associated withparticular location data 320 of a particular location entity 302 intable 300 of database 260 is positional information. Such positionalinformation may be coordinates or other information indicative of wherethe location entity 302 may be depicted, highlighted, distinguished, orotherwise identified by user interface 210 on map 202 (e.g., using oneor more visual indicators). For example, position metadata 348 of anentity 302 may include one or more strings of one or more alphanumericcharacters representing a characteristic associated with the position ofthe specific location 320 of that entity on map 202.

In some embodiments, position metadata 348 may include geographiccoordinates associated with the actual physical location of location 320on the globe. This information may be synthesized with coordinate dataof map 202 to identify the specific position of location 320 on map 202.For example, as shown in FIG. 3, location entity 302 r may include anassociated piece of location data 320 r that is the location name “RomeCity, Indiana, U.S.A.”, and associated position metadata 348 r that mayinclude one or more values to be considered when highlighting orotherwise representing location 320 r on map 202 (e.g., coordinate value“41° 49N/85° 36W” indicative of the position of Rome City on the globe).Similarly, location entity 302 t may include an associated piece oflocation data 320 t that is the location name “Rotterdam, Netherlands”,and associated position metadata 348 t that may include one or morevalues to be considered when highlighting or otherwise representinglocation 320 t on map 202 (e.g., coordinate value “51° 55N/4° 28E”indicative of the position of Rotterdam on the globe).

There are many other various types of metadata 340 that can beassociated with a particular location 320 of a particular entity 302 oflibrary 300. For example, such a particular piece of metadata mayinclude preference information (e.g., media playback preferences),exercise information (e.g., information obtained by exercise monitoringequipment), transaction information (e.g., information such as creditcard information), subscription information (e.g., information thatkeeps track of podcasts or television shows or other media a usersubscribes to), contact information (e.g., telephone numbers and emailaddresses), calendar information, or any other suitable type ofinformation that a user or other entity may wish to associate with aparticular location 320 that may be identified and/or selected by a userof device 100.

At least portions of each table of any database associated with anyapplication (e.g., table 300 of database 260 of application 200) may bestored in any memory component of device 100 (e.g., memory 104 ofFIG. 1) or may be made accessible to device 100 by any remote device orserver (e.g., via-communications circuitry 106 of FIG. 1), for example.In some embodiments, most of table 300 may be stored locally on device100 (e.g., in memory 104), but indicator value metadata 344 for one ormore entities 302 may be data stored on a separate server or device(e.g., data that may be provided via a remote server that continuallyupdates indicator value metadata 344, such as when the population of acity changes). When some portion of table 300 is stored locally andother portions are stored on a separate server, the portion on thedevice may store pointers (e.g., URLs) to the corresponding portions ofthe table stored on remote servers, for example.

FIGS. 4A-4F show illustrative views of a visual representation 400 ofuser interface 210 of search application 200 in various stages of usefor updating the current time zone to be associated with device 100(e.g., for updating a clock of the device or for loading certain userpreferences associated with the current time zone). For example, asshown in FIGS. 4A-4F, visual representations 400 may show user generatedinformation interacting with user interface 210 of search application200 for updating the current time zone of device 100 from PacificStandard Time (“PST”) related to a user's previous location in SanDiego, Calif., U.S.A. to Central European Time (“CET”) related to theuser's current location in Rome, Italy.

While visual representations 400 of FIGS. 4A-4F are described withreference to the various components and contents of electronic device100, search application 200, and search table 300 of FIGS. 1-3, anyother suitable electronic device, any other suitable type of searchapplication, and any other suitable type of search table may also beused. Moreover, search application 200 is often described with specificreference to a map of the globe and the locations of various citiesdepicted by the globe, for the specific use of updating the current timezone associated with the device. However, application 200 may utilizeany other suitable type of map or image depicting any other suitabletype or types of locations or entities for any other suitable purpose.For example, in another embodiment, a photograph of various people maybe searched to highlight the faces of only those people with a specificname or other characteristic.

As shown in FIG. 4A, for example, user interface 210 may present visualrepresentation 400A related to previous location information of device100 on display output component 112. UI output portion 230 may generateand present a map 202 a that may, for example, illustrate a map of theworld. Map 202 a may at least depict at least one specific locationassociated with the time zone to be updated. For example, as shown inFIG. 4A, map 202 a may at least depict the location of San Diego,Calif., U.S.A. associated with the Pacific Standard Time Zone (“PST”) tobe updated with the Central European Time Zone (“CET”) associated withthe user's current location in Rome, Italy.

Therefore, in some embodiments, UI output portion 230 may also present avisual indicator 203 a at a certain position on map 202 a indicative ofSan Diego. For example, with reference to table 300 of database 260 ofFIG. 3, application 200 may recall the previously selected locationentity 302 used to define the time zone of device 100 (e.g., locationentity 302 w), and may update the presentation of map 202 a with visualindicator 203 a at a position on map 202 a based at least partially onmetadata associated with that entity (e.g., position metadata 348 w).Application 200 may also update search field 228 of UI 210 with the nameof the location of that entity (e.g., location data 320 w). Similarly,application 200 may also update a time zone field 229 of UI 210 with thename of the time zone associated with that entity (e.g., time zonemetadata 346 w). UI output portion 230 may also present a visual zoneregion 205 a along a certain portion of map 202 a indicative of thePacific Standard Time Zone (e.g., using a certain shading or otherhighlighting technique). Thus, user interface 210 may present visualrepresentation 400A on display 112 that is indicative of the previouslystored location information (e.g., time zone information) of device 100.

As shown in FIG. 4B, for example, user interface 210 may present visualrepresentation 400B on display 112 such that a user may begin to useapplication 200 to search for a location to define the current time zoneof device 100. UI output portion 230 may generate and present a map 202b that may, for example, illustrate a map of the world. Map 202 b may besubstantially similar to map 202 a used in FIG. 4A to depict theprevious time zone of the device. However, in some embodiments, as shownin FIGS. 4A and 4B, map 202 a may be a “photorealistic” representationor view of the globe (e.g., a map that may distinguish between variousenvironmental conditions, such as green verdant portions of the globeand tan dry portions of the globe), while map 202 b may be an “artistic”representation or view of the globe (e.g., a map that may simply providean outline of the shape of the land masses without any or manydistinctive features between various portions). Additionally oralternatively, in some embodiments, as shown in FIGS. 4A and 4B, map 202a may be displayed as if the sun were shining on all portions of theglobe (e.g., a “day view” of the globe), while map 202 b may bedisplayed as if the sun were not shining on any portion of the globe(e.g., a “night view” of the globe).

For example, a photorealistic and/or day view of the globe (e.g., map202 a) may be used to show a well defined selected location (e.g., SanDiego, Calif.), while an artistic and/or night view of the globe (e.g.,map 202 b) may be used to indicate to a user that a search operation maybe in progress and to display visual indicators related to one or moresearch results. Therefore, application 200 can indicate different modesby transitioning from a first representation of an entity beingpresented by map 202 to a second representation of that same entity. Forexample, a transition from a day view of the globe (e.g., map 202 a ofFIG. 4A) to a night view of the globe (e.g., map 202 b of FIG. 4B) canindicate a transition from a “confirmed mode” to a “search mode” ofapplication 200. Various other changes may be made between tworepresentations of a mapped entity to indicate various modes ofapplication 200. For example, a transition from a “zoomed-in” view of aportion of the globe showing a well defined selected location to a“zoomed-out” view of a larger portion or all portions of the globe canindicate the transition from the confirmed mode to the search mode ofthe application.

Database 260 may also include one or more graphical representations ofmaps or other entities that may be displayed to the user by UI 210 ofapplication 200. For example, as shown in FIG. 3, database 260 may alsoinclude map repository 350 that may include one or more graphicalrepresentations of map 202 (e.g., map 202 a and map 202 b). Moreover,each map may include associated metadata that may be updated in order toalter the presentation of the map. For example, a photorealistic view ofa map 202 may include detail regarding current snowfall along differentgeographical portions of the map. This snowfall information may beobtained by a remote server or any other suitable mechanism and may beused to update one or more of the maps provided by repository 350.Alternatively, “generic” snowfall conditions may be determined based onthe current month of the year (e.g., based on the current calendarsettings of the device). Moreover, repository 350 may include one ormore graphical representations of visual indicators or other graphicsused.by application 200.

The search mode can be considered a transient mode in which it may bepossible for the user to search for locations according to user searchinformation until a certain location is selected and confirmed by theuser. When the selection of a location is confirmed, application 200 maytransition map 202 from a “search mode view” (e.g., an artistic viewand/or a night view and/or a zoomed-out view of the globe) to a“confirmed mode view” (e.g., a photorealistic view and/or a day viewand/or a zoomed-in view of the globe). In a search mode represented by anight view, for example, search results may be represented on map 202 bytwinkling dots positioned at map locations associated with some or allof the search results. The number of dots can vary depending on thenumber of search results. This may provide an elegant way of showingboth the distribution (i.e., the location) and the dimension (i.e., thenumber) of the results of the user query. The size, shape, and/or colorof the dots or visual indicators may be varied to further distinguishcertain locations for which the user might have a higher interest.

For example, as shown in FIG. 4B, when application 200 enters a searchmode (e.g., in response to a user request to update device time zonedata, such as a request generated by input component 110 or any othersuitable mechanism), UI output portion 230 may generate and present map202 b as well as multiple visual indicators 203 b at multiple positionson map 202 b indicative of some or all of the potential locations thatmay be searched through by the user. For example, with reference totable 300 of database 260 of FIG. 3, application 200 may detect all ofthe location entities 302 available in table 300 (e.g., locationentities 302 a-302 z), and may update the presentation of map 202 b withmultiple visual indicators 203 b at multiple positions on map 202 bbased at least partially on metadata associated with each respectivedetected entity (e.g., position metadata 348 a-348 z). As shown in FIG.4B, each visual indicator 203 b may be a bright dot that may contrastwell with the otherwise dark representation of the night view of theglobe of map 202 b. Each visual indicator 203 b of FIG. 4B may have adifferent appearance than visual indicator 203 a of FIG. 4A, which mayhave a larger, “bulls-eye” type design. This style of visual indicatormay be used when application 200 is presenting the confirmed mode viewof map 202 and a particular location has been selected and confirmed bythe user.

Application 200 may also update search field 228 of UI 210 with a promptfor the user to enter user search information 221 into field 228 (e.g.,an “<Enter Location>” prompt, as shown in FIG. 4B). Similarly,application 200 may also update time zone field 229 of UI 210 toindicate that a particular time zone has not yet been determined. Thus,user interface 210 may present visual representation 400B on display 112that is indicative of an initial search condition awaiting user searchinformation to narrow down the number of potential locations of device100.

As shown in FIG. 4C, for example, user interface 210 may present visualrepresentation 400C on display 112 in response to a user entering usersearch information 221 c into search field 228. As mentioned, a user mayprovide search field 228 of UI input portion 220 with user searchinformation 221 via input component 110 (e.g., a keyboard). For example,user search information 221 entered into search field 228 may berepresentative of at least a portion of a user search term related to alocation of map 202. Controller 240 may automatically process usersearch term information 221 of search field 228 and may automaticallyupdate the presentation of map 202 and/or visual indicators 203 on map202 based on the processed user search term information. This processingand updating may occur immediately and automatically in response toreceiving new user search term information 221, such that the mapping ofsearch results may appear as quickly as a user may amend its searchterms. This dynamic or adaptive mapping of search results maysignificantly enhance the user experience.

With respect to representation 400 c of FIG. 4C, a user may begin thesearch by providing search field 228 of UI input portion 220 with usersearch information 221 c defined by the alphanumeric character “R”. Inresponse to receiving this user search term information 221 c, searchengine 250 may compare user search term information 221 c to at leastcertain information defined by one or more location entities 302 oftable 300 in database 260. For example, engine 250 may compare usersearch term information 221 c to alphanumeric strings of valid termmetadata 342 of one or more location entities 302 of database 260. Forevery detected match between user search term information 221 c andvalid term metadata 342 of one or more location, entities 302, engine250 may extract the position metadata 348 of each of those matchedentities 302. Then, application 200 may update the presentation of map202 with one or more visual indicators 203 at one or more positions onmap 202 based at least partially on this extracted position metadata 348associated with each respective matched entity.

Following the example of user search term information 221 c defined bythe alphanumeric character “R”, controller 240 may process information221 c by using engine 250 to compare information 221 c with table 300 todetect matches with valid term metadata 342—of at least locationentities 302 k, 302 m, 302 o, 302 p, 302 q, 302 r, and 302 t. Therefore,application 200 may update the presentation of map 202 with one or morevisual indicators 203 at positions on map 202 based at least partiallyon position metadata 348 of at least location entities 302 k, 302 m, 302o, 302 p, 302 q, 302 r, and 302 t. As shown in FIG. 4C, UI outputportion 230 may generate and present a map 202 c that may, for example,be substantially similar to map 202 b of FIG. 4B (e.g., an artisticnight view of the globe). Based on the processing of user search terminformation 221 c by controller 240, UI output portion 230 may alsogenerate and present visual indicators 203 c at positions on map 202 cindicative of some or all of the potential location entities 302 thatmatch the user's entered search term information 221 c (i.e., positionmetadata 348 k, 348 m, 348 o, 348 p, 348 q, 348 r, and 348 t of matchedlocation entities 302 k, 302 m, 302 o, 302 p, 302 q, 302 r, and 302 t).Like indicators 203 b of FIG. 4B, each visual indicator 203 c may be abright dot that may contrast well with the otherwise dark representationof the night view of the globe of map 202 c. However, the number ofindicators 203 c of FIG. 4C may be less than the number of indicators203 b of FIG. 4B due to the search results being limited by the matchesdetected between user search term information 221 c and information oftable 300.

In some embodiments, UI output portion 230 may also generate a menu list208 as a portion of presentation information 231. Menu list 208 mayinclude one or more menu items 209 associated with at least some of thevisual indicators 203 provided by map 202. Furthermore, in someembodiments, the user may also use a portion of user search information221 (e.g., by scrolling up or down using a scroll wheel input component110, such as with respect to scroll 207 of UI 210) to choose aparticular menu item 209 as a selection 222 of UI input portion 220. Inresponse to selection 222 of a particular menu item 209, UI outputportion 230 may update the presentation of map 202 and/or thepresentation of at least one visual indicator 203 based on selection222.

For example, for every detected match between user search terminformation 221 c and valid term metadata 342 of one or more locationentities 302, engine 250 may also extract the location data 320 of eachof those matched entities 302. Then, application 200 may generate menulist 208 with one or more menu items 209 based on the extracted locationdata 320 of each matched entity.

Following the example of user search term information 221 c defined bythe alphanumeric character “R”, controller 240 may process information221 c by using engine 250 to compare information 221 c with table 300 todetect matches with valid term metadata 342 of at least locationentities 302 k, 302 m, 302 o, 302 p, 302 q, 302 r, and 302 t. Based onthe processing of user search term. information 221 c by controller 240,UI output portion 230 may also generate and present menu list 208 c withone or more menu items 209 c descriptive of some or all of the locationentities 302 that match the user's entered search term information 221 c(e.g., location data 320 k, 320 m, 320 o, 320 p, 320 q, 320 r, and 320 tof matched location entities 302 k, 302 m, 302 o, 302 p, 302 q, 302 r,and 302 t). Therefore, each item 209 c in list 208 c may have anassociated indicator 203 c on map 202 c.

Selection 222 c may also be provided for highlighting a particular item209 c in list 208 c. As shown in FIG. 4C, selection 222 c may highlightitem 209 c′ associated with location 320 k (e.g., “Rio de Janeiro,Brazil”). When a particular item 209 is highlighted by selection 222,the indicator 203 associated with that item 209 may be altered. Forexample, as shown in FIG. 4C, when item 209 c′ associated with location320 k (e.g., “Rio de Janeiro, Brazil”) is highlighted by selection 222c, the visual indicator 203 associated with location 320 k (e.g., thevisual indicator 203 positioned on map 202 c based on position metadata348 k) may be altered to distinguish that indicator from all otherindicators of map 202 c (e.g., see visual indicator 203 c′, which mayinclude a dot and an outer ring at a position on map 202 c associatedwith Rio de Janeiro, Brazil). When the user scrolls selection 222 c tohighlight another menu item 209 in list 208, the visual indicator 203associated with that selected item 209 may be altered, and the visualindicator 203 c′ associated with previously selected item 209 c′ mayreturn to its normal appearance (e.g., as it appeared on map 202 b ofFIG. 4B). This may provide the user with an easy way to correlate eachlisted item 209 in list 208 with its respective visual indicator 203 onmap 202. This may help the user determine which search result isdesired.

Application 200 may also supplement user search information 221 insearch field 228 of UI 210 with at least a portion of selected item 209.For example, as shown in FIG. 4C, the portion of location data 320 k notprovided by user search information 221 c (e.g., “Rio de Janeiro,Brazil” portion 320 k′) may be automatically filled into search field228 to help guide the user.

Moreover, in some embodiments, UI output portion 230 may also generate amatch counter 307 as a portion of presentation information 231. Matchcounter 307 may provide the user with the number of indicators 203provided on a map 202, the number of menu items 209 provided in a list208, or any other number associated with the number of location entities302 currently represented by user interface 210. This may provide theuser with another easy way to determine the dimension (i.e., the number)of generated search results of a user query.

As shown in FIG. 4D, for example, user interface 210 may present visualrepresentation 400D on display 112 in response to a user entering usersearch information 221 d into search field 228. Continuing with a searchbased on the results presented in FIG. 4C, the user may proceed byproviding search field 228 of UI input portion 220 with user searchinformation 221 d defined by the alphanumeric character string “RO”. Forexample, this may be done by simply adding “O” to previous user searchinformation 221 c of FIG. 4C. In response to receiving this new usersearch term information 221 d, search engine 250 may compare user searchterm information 221 d to at least certain information defined by one ormore location entities 302 of table 300 in database 260. For example,engine 250 may compare user search term information 221 d toalphanumeric strings of valid term metadata 342 of one or more locationentities 302 of database 260. In some embodiments, engine 250 maycompare information 221 d with information from only those entities 302that provided a match during the processing of information 221 c. Thismay reduce the processing requirements of application 200. For everydetected match between user search term information 221 d and valid termmetadata 342 of one or more location entities 302, query engine 250 mayextract the position metadata 348 of each of those matched entities 302.Then, application 200 may update the presentation of map 202 with one ormore visual indicators 203 at one or more positions on map 202 based atleast partially on this extracted position metadata 348 associated witheach respective matched entity.

Following the example of user search term information 221 d defined bythe alphanumeric characters “RO”, controller 240 may process information221 d by using engine 250 to compare information 221 d with table 300 todetect matches with valid term metadata 342 of at least locationentities 302 o, 302 p, 302 q, 302 r, and 302 t. Therefore, application200 may update the presentation of map 202 with one or more visualindicators 203 at positions on map 202 based at least partially onposition metadata 348 of at least location entities 3020, 302 p, 302 q,302 r, and 302 t. As shown in FIG. 4D, UI output portion 230 maygenerate and present a map 202 d that may, for example, be substantiallysimilar to map 202 b of FIG. 4B and map 202 c of FIG. 4C (e.g., anartistic night view of the globe). Based on the processing of usersearch term information 221 d by controller 240, UI output portion 230may also generate and present multiple visual indicators 203 d atmultiple positions on map 202 d indicative of some or all of thepotential location entities 302 that match the user's entered searchterm information 221 d (i.e., position metadata 348 o, 348 p, 348 q, 348r, and 348 t of matched location entities 302 o, 302 p, 302 q, 302 r,and 302 t). Like indicators 203 c of FIG. 4C, each visual indicator 203d may be a bright dot that may contrast well with the otherwise darkrepresentation of the night view of the globe of map 202 d. However, thenumber of indicators 203 d of FIG. 4D may be less than the number ofindicators 203 c of FIG. 4C due to the search results being limited bythe more specific user search term information 221 d as compared to usersearch term information 221 c. Therefore, UI output portion 230 maysimply remove certain indicators 203 from map 202 when updating map 202in response to new user search term information 221 d.

Furthermore, based on the processing of user search term information 221d by controller 240, UI output portion 230 may also generate and presentmenu list 208 d with one or more menu items 209 d descriptive of some orall of the location entities 302 that match the user's entered searchterm information 221 d (e.g., location data 320 o, 320 p, 320 q, 320 r,and 320 t of matched location entities 302 o, 302 p, 302 q, 302 r, and302 t). Therefore, each item 209 d in list 208 d may have an associatedindicator 203 d on map 202 d.

Selection 222 d may also be provided for highlighting a particular item209 d in list 208 d. As shown in FIG. 4D, selection 222 d may highlightitem 209 d′ associated with location 320 p (e.g., “Rome, Italy”). When aparticular item 209 is highlighted by selection 222, the indicator 203associated with that item 209 may be altered. For example, as shown inFIG. 4D, when item 209 d′ associated with location 320 p (e.g., “Rome,Italy”) is highlighted by selection 222 d, the visual indicator 203associated with location 320 p (e.g., the visual indicator 203positioned on map 202 d based on position metadata 348 p) may be alteredto distinguish that indicator from all other indicators of map 202 d(e.g., see visual indicator 203 d′, which may include a dot and an outerring at a position on map 202 d associated with Rome, Italy). When theuser scrolls selection 222 d to highlight another menu item 209 in list208, the visual indicator 203 associated with that selected item 209 maybe altered, and the visual indicator 203 d′ associated with previouslyselected item 209 d′ may return to its normal appearance (e.g., as itappeared on map 202 c of FIG. 4C). This may provide the user with aneasy way to correlate each listed item 209 in list 208 with itsrespective visual indicator 203 on map 202. This may help the userdetermine which search result is desired.

Application 200 may also supplement user search information 221 insearch field 228 of UI 210 with at least a portion of selected item 209.For example, as shown in FIG. 4D, the portion of location data 320 p notprovided by user search information 221 d (e.g., “me, Italy” portion 320p′) may be automatically filled into search field 228 to help guide theuser.

In some embodiments, items 209 may be ordered in list 208alphabetically. Alternatively, items 209 may be ordered in list 208based on any other criteria. For example, items 209 may be ordered basedon indicator value metadata 344 of each entity 302 represented by anitem in the list, such that the location with the highest population maybe listed before locations with lower populations. It is to beunderstood that while only some of the menu items 209 may be displayedat a particular time on display 112, any menu item 209 of list 208 maybe displayed and highlighted by selection 222 when the user scrollsselection 222 up or down the list (e.g., as indicated by scroll cursor207 d of FIG. 4D).

In some embodiments, the menu item 209 to be provided at the top of theportion of list 208 that is initially displayed on display 112 (e.g.,item 209 d′ associated with location 320 p in FIG. 4D) may notnecessarily be the item 209 at the top of list 208 (e.g., list 208 d maybe initially presented with scroll cursor 207 d not at the top of thelist). For example, item 209 d′ positioned at the top of the portion oflist 208 d initially displayed on display 112 may be based on anysuitable criteria, such as indicator value metadata 344 associated withthe items 209 d (e.g., based on the population of each locationidentified in list 208 d). That is, even if there were other entities302 in table 300 that matched user search information 221 d and thatwere alphabetically ahead of location data 320 p for “Rome, Italy”(e.g., location data 320 o for “Rome, Georgia, U.S.A.”), the menu item209 d associated with location data 320 p may still be the itempositioned at the top of the portion of list 208 d initially displayed,based on Rome, Italy having the highest population out of all thelocations included in list 208 d (e.g., indicator value metadata 346 pis greater than indicator value metadata 346 o). It is to be understoodthat various other characteristics or data related to locations 320 ofentities 302 may be used for sorting or initially displaying items 209in list 208 besides population information. For example, previous usagedata or popularity (e.g., how often the user selects a particularlocation), physical size (e.g., the square mileage of the location), orany other suitable information may be used.

As shown in FIG. 4E, for example, user interface 210 may present visualrepresentation 400E on display 112 in response to a user entering usersearch information 221 e into search field 228. Continuing with a searchbased on the results presented in FIG. 4D, the user may proceed byproviding search field 228 of UI input portion 220 with user searchinformation 221 e defined by the alphanumeric character string “ROME”.For example, this may be done by simply adding “ME” to previous usersearch information 221 d of FIG. 4D. In response to receiving this newuser search term information 221 e, search engine 250 may compare usersearch term information 221 e to at least certain information defined byone or more location entities 302 of table 300 in database 260. Forexample, engine 250 may compare user search term information 221 e toalphanumeric strings of valid term metadata 342 of one or more locationentities 302 of database 260. In some embodiments, engine 250 maycompare information 221 e with information from only those entities 302that provided a match during the processing of information 221 d (i.e.,as “RO” search information 221 d may be inclusive of “ROME” searchinformation 221 e). This may reduce the processing requirements ofapplication 200. For every detected match between user search terminformation 221 e and valid term metadata 342 of one or more locationentities 302, engine 250 may extract the position metadata 348 of eachof those matched entities 302. Then, application 200 may update thepresentation of map 202 with one or more visual indicators 203 at one ormore positions on map 202 based at least partially on this extractedposition metadata 348 associated with each respective matched entity.

Following the example of user search term information 221 e defined bythe alphanumeric characters “ROME”, controller 240 may processinformation 221 e by using engine 250 to compare information 221 e withtable 300 to detect matches with valid term metadata 342 of at leastlocation entities 302 o, 302 p, 302 q, and 302 r. Therefore, application200 may update the presentation of map 202 with one or more visualindicators 203 at positions on map 202 based at least partially onposition metadata 348 of at least location entities 302 o, 302 p, 302 q,and 302 r. As shown in FIG. 4E, UI output portion 230 may generate andpresent a map 202 e that may, for example, be substantially similar tomap 202 d of FIG. 4D (e.g., an artistic night view of the globe).

Based on the processing of user search term information 221 e bycontroller 240, UI output portion 230 may also generate and presentvisual indicators 203 e at positions on map 202 e indicative of some orall of the potential location entities 302 that match the user's enteredsearch term information 221 e (i.e., position metadata 348 o, 348 p, 348q, and 348 r of matched location entities 3020, 302 p, 302 q, and 302r). Like indicators 203 d of FIG. 4D, each visual indicator 203 e may bea bright dot that may contrast well with the otherwise darkrepresentation of the night view of the globe of map 202 e. However, thenumber of indicators 203 e of FIG. 4E may be less than the number ofindicators 203 d of FIG. 4D due to the search results being limited bythe more specific user search term information 221 e as compared to usersearch term information 221 d. In some embodiments, map 202 may bealtered based on the relative positioning of its indicators 203. Forexample, map 202 e may be a more zoomed-in view of a portion of theglobe including indicators 203 e (e.g., a view of just North America andEurope) as compared to the full view of the globe of map 202 d. This mayallow map 202 to display only those portions necessary for indicatingthe locations associated with the current search results.

Furthermore, based on the processing of user search term information 221e by controller 240, UI output portion 230 may also generate and presentmenu list 208 e with one or more menu items 209 e descriptive of some orall of the location entities 302 that match the user's entered searchterm information 221 e (e.g., location data 320 o, 320 p, 320 q, and 320r of matched location entities 302 o, 302 p, 302 q, and 302 r).Therefore, each item 209 e in list 208 e may have an associatedindicator 203 e on map 202 e.

Selection 222 e may also be provided for highlighting a particular item209 e in list 208 e. As shown in FIG. 4E, selection 222 e may highlightitem 209 e′ associated with location 320 p (e.g., “Rome, Italy”). When aparticular item 209 is highlighted by selection 222, the indicator 203associated with that item 209 may be altered. For example, as shown inFIG. 4E, when item 209 e′ associated with location 320 p (e.g., “Rome,Italy”) is highlighted by selection 222 e, the visual indicator 203associated with location 320 p (e.g., the visual indicator 203positioned on map 202 e based on position metadata 348 p) may be alteredto distinguish that indicator from all other indicators of map 202 e(e.g., see visual indicator 203 e′, which may include a dot and an outerring at a position on map 202 e associated with Rome, Italy). When theuser scrolls selection 222 e to highlight another menu item 209 in list208, the visual indicator 203 associated with that selected item 209 maybe altered, and the visual indicator 203 e′ associated with previouslyselected item 209 e′ may return to its normal appearance (e.g., as itappeared on map 202 c of FIG. 4C). This may provide the user with aneasy way to correlate each listed item 209 in list 208 with itsrespective visual indicator 203 on map 202. This may help the userdetermine which search result is desired.

Application 200 may also supplement user search information 221 insearch field 228 of UI 210 with at least a portion of selected item 209.For example, as shown in FIG. 4E, the portion of location data 320 p notprovided by user search information 221 e (e.g., “, Italy” portion 320p′) may be automatically filled into search field 228 to help guide theuser.

As shown in FIGS. 4B-4E, each visual indicator 203 may be a bright dotthat may contrast well with the otherwise dark representation of a nightview of a globe of map 202. As may not be shown by FIGS. 4B-4E, however,is that search results represented on map 202 by indicators 203 may be“twinkling” (e.g., in order to look like stars in a sky) or may beotherwise constantly changing their appearance to add some activity tomap 202 for engaging the user. For example, indicators 203 that arerepresented as twinkling dots may potentially resemble the appearance ofactual city lights being turned on and off as if being viewed fromspace. This may be pleasing to a user and may enhance the experience.

In some embodiments, at least some of the visual indicators 203 on a map202 may have a visual characteristic at least partially dependent on theindicator value metadata 344 of the location entity 302 represented bythe indicator 203. For example, the brightness of each indicator 203 maybe determined based on the value of its associated indicator valuemetadata 344. This may allow an indicator 203 associated with a locationhaving a relatively high human population to be brighter than anindicator 203 associated with a location having a relatively small humanpopulation. For example, as shown in FIG. 4E, indicator 203 e″, whichmay be associated with entity 302 q for “Rome, New York”, may bebrighter than indicator 203 e′″, which may be associated with entity 302r for “Rome City, Indiana”, due to indicator value metadata 344 q beinglarger than indicator value metadata 344 r. The effect that indicatorvalue metadata 344 may have on the appearance of indicators 203 may varybased on the number of indicators 203 presented on a map 202.

As shown in FIG. 4F, for example, user interface 210 may present visualrepresentation 400F on display 112 in response to a user selecting andconfirming a particular search result. Continuing with a search based onthe results presented in FIG. 4E, the user may proceed by confirmingselection 222 e as the desired search result. As shown in FIG. 4E,selection 222 e may highlight item 209 e′ associated with location 320 p(e.g., “Rome, Italy”) of location entity 302 p. The user may confirmthis selection using any suitable mechanism (e.g., by pressing aparticular input mechanism of input component 110, such as a mouse-clickon a selected menu item 209 or indicator 203). When a particularselection of a search result (e.g., a menu item 209 associated with alocation 320 of an entity 302) is confirmed, application 200 maytransition from a “search mode” to a “confirmed mode”. For example, whenthe selection of a location is confirmed, application 200 may transitionmap 202 from a “search mode view” (e.g., an artistic view and/or a nightview and/or a zoomed-out view of the globe) to a “confirmed mode view”(e.g., a photorealistic view and/or a day view and/or a zoomed-in viewof the globe). Therefore, application 200 may update the presentation ofmap 202 to signify the confirmation.

Additionally, application 200 may remove menu list 208 and allindicators 203 not associated with the confirmed search result. As shownin FIG. 4F, UI output portion 230 may generate and present a map 202 fthat may, for example, be substantially similar to map 202 a of FIG. 4A(e.g., a photorealistic day view of the globe). Based on the userconfirmation of a particular search result, UI output portion 230 mayalso generate and present a visual indicator 203 f at the position onmap 202 f indicative of the location entity 302 associated with theconfirmed result (i.e., position metadata 348 p of confirmed locationentity 302 p). Like visual indicator 203 a of FIG. 4A, indicator 203 fmay be a “bulls-eye” type indicator that may clearly distinguish theparticular location on the day view of the globe of map 202 f.

Application 200 may also update search field 228 of UI 210 with the nameof the location of the confirmed entity (e.g., location data 320 p).Similarly, application 200 may also update time zone field 229 of UI 210with the name of the time zone associated with that entity (e.g., timezone metadata 346 p). UI output portion 230 may also present a visualzone region 205 f along a certain portion of map 202 f indicative of theCentral European Time Zone (e.g., using a certain shading or otherhighlighting technique). Thus, user interface 210 may present visualrepresentation 400F on display 112 that is indicative of the userconfirmed location information (e.g., time zone information) of device100.

Although application 200 has been described with respect to FIGS. 4A-4Fas receiving user search term information 221 defined by thealphanumeric characters processed by controller 240 for comparison withtable 300 to detect matches with valid term metadata 342 of locationentities 302, search term information 221 may be related to any othercharacteristic or metadata portion of each entity 302. For example, auser may input numeric values using search term information 221 andcontroller 240 may compare numeric information 221 with population dataof table 300 (e.g., indicator value metadata 344), such that a user'ssearch may provide results based on entities 302 whose populationnumbers at least partially match the user search information 221.

The processes described herein, as well as any other aspects of theinvention, may each be implemented by software, but can also beimplemented in hardware or a combination of hardware and software. Theyeach may also be embodied as computer readable code recorded on acomputer readable medium. The computer readable medium may be any datastorage device that can store data which can thereafter be read by acomputer system. Examples of the computer readable medium includeread-only memory, random-access memory, flash memory, CD-ROMs, DVDs,magnetic tape, and optical data storage devices. The computer readablemedium can also be distributed over network-coupled computer systems sothat the computer readable code is stored and executed in a distributedfashion.

Insubstantial changes from the claimed subject matter as viewed by aperson with ordinary skill in the art, now known or later devised, areexpressly contemplated as being equivalently within the scope of theclaims. Therefore, obvious substitutions now or later known to one withordinary skill in the art are defined to be within the scope of thedefined elements.

The above-described embodiments of the invention are presented forpurposes of illustration and not of limitation.

What is claimed is:
 1. A computer-implemented method, comprising:displaying, at a computing device, an interface including a search modeview of a map and a search box; receiving input into the search box,wherein the input causes a display of a menu; displaying a list ofgeographic locations in the menu, wherein the geographic locations aredisplayed according to the received input; displaying visual indicatorson the search mode view of the map, wherein the visual indicators aredisplayed according to the list of geographic locations; receivingselection input corresponding to a selected geographic location from thelist of geographic locations in the menu; and updating the interface,wherein updating includes replacing the search mode view with aconfirmed mode view, wherein the confirmed mode view includes aselection highlight indicator that corresponds to the selectedgeographic location, and wherein the selection highlight indicator isvisually distinct from the visual indicators.
 2. The method of claim 1,further comprising: storing, at a server, previous usage data, whereinthe previous usage data includes the selected geographic location. 3.The method of claim 2, wherein the list of geographic locations isordered based on the previous usage data.
 4. The method of claim 1,wherein the search mode view includes a visual indicator associated witha previous selected location.
 5. The method of claim 1, wherein the listof geographic locations is ordered based on calendar data.
 6. The methodof claim 1, wherein the confirmed mode view is a subset of the mapassociated with the search mode view.
 7. The method of claim 1, whereinthe menu is a scroll menu.
 8. The method of claim 7, further comprising:receiving scroll input corresponding to scrolling through one or moregeographic locations in the scroll menu; highlighting the geographiclocations in the scroll menu based on the received scroll input; andcontrasting a visual indicator corresponding to the highlightedgeographic location, wherein the visual indicator is contrasted from therest of the visual indicators.
 9. The method of claim 1, furthercomprising: receiving additional input into the search box; truncatingthe list of geographic locations according to the additional input;updating the display of the visual indicators based on the truncatedlist of geographic locations; and receiving selection inputcorresponding a selection of a geographic location from the updated listof geographic locations.
 10. The method of claim 1, wherein theinterface includes a search result number, and wherein the search resultnumber corresponds to the list of geographic locations.
 11. The methodof claim 1, wherein the confirmed mode view includes a differentbackground color than the search mode view.
 12. The method of claim 1,wherein the list of geographic locations is ordered based on populationdata associated with each geographic location.
 13. The method of claim1, wherein the visual indicators associated with the geographiclocations have a brightness that corresponds to population dataassociated with a geographic location.
 14. A computer-implementedsystem, comprising: one or more data processors; and one or morenon-transitory computer-readable storage media containing instructionsconfigured to cause the one or more processors to perform operationsincluding: displaying, at a computing device, an interface including asearch mode view of a map and a search box; receiving input into thesearch box, wherein the input causes a display of a menu; displaying alist of geographic locations in the menu, wherein the geographiclocations are displayed according to the received input; displayingvisual indicators on the search mode view of the map, wherein the visualindicators are displayed according to the list of geographic locations;receiving selection input corresponding to a selected geographiclocation from the list of geographic locations in the menu; and updatingthe interface, wherein updating includes replacing the search mode viewwith a confirmed mode view, wherein the confirmed mode view includes aselection highlight indicator that corresponds to the selectedgeographic location, and wherein the selection highlight indicator isvisually distinct from the visual indicators.
 15. The system of claim14, further comprising instructions configured to cause the one or moreprocessors to perform operations including: storing, at a server,previous usage data, wherein the previous usage data includes theselected geographic location.
 16. The system of claim 14, wherein themenu is a scroll menu, the system further comprising instructionsconfigured to cause the one or more processors to perform operationsincluding: receiving scroll input corresponding to scrolling through oneor more geographic locations in the scroll menu; highlighting thegeographic locations in the scroll menu based on the received scrollinput; and contrasting a visual indicator corresponding to thehighlighted geographic location, wherein the visual indicator iscontrasted from the rest of the visual indicators.
 17. The system ofclaim 14, further comprising instructions configured to cause the one ormore processors to perform operations including: receiving additionalinput into the search box; truncating the list of geographic locationsaccording to the additional input; updating the display of the visualindicators based on the truncated list of geographic locations; andreceiving selection input corresponding a selection of a geographiclocation from the updated list of geographic locations.
 18. Acomputer-program product, tangibly embodied in a non-transitory machinereadable storage medium, including instructions configured to cause adata processing apparatus to: display, at a computing device, aninterface including a search mode view of a map and a search box;receive input into the search box, wherein the input causes a display ofa menu; display a list of geographic locations in the menu, wherein thegeographic locations are displayed according to the received input;display visual indicators on the search mode view of the map, whereinthe visual indicators are displayed according to the list of geographiclocations; receive selection input corresponding to a selectedgeographic location from the list of geographic locations in the menu;and update the interface, wherein updating includes replacing the searchmode view with a confirmed mode view, wherein the confirmed mode viewincludes a selection highlight indicator that corresponds to theselected geographic location, and wherein the selection highlightindicator is visually distinct from the visual indicators.
 19. Thecomputer-program product of claim 18, wherein the menu is a scroll menu,the computer-program product further comprising instructions configuredto cause the data processing apparatus to: receive scroll inputcorresponding to scrolling through one or more geographic locations inthe scroll menu; highlight the geographic locations in the scroll menubased on the received scroll input; and contrast a visual indicatorcorresponding to the highlighted geographic location, wherein the visualindicator is contrasted from the rest of the visual indicators.
 20. Thecomputer-program product of claim 18, further comprising instructionsconfigured to cause the data processing apparatus to: receive additionalinput into the search box; truncate the list of geographic locationsaccording to the additional input; update the display of the visualindicators based on the truncated list of geographic locations; andreceive selection input corresponding a selection of a geographiclocation from the updated list of geographic locations.